Input/output (I/O) determinism involves utilizing information related to reading and writing of I/O instructions to more efficiently implement such instructions. To provide I/O determinism, a server may require knowledge of the particular architecture of a storage device. For example, the server may require an estimated amount of time for a particular I/O instruction to be executed on a storage device. If the instruction will take too long to execute on the storage device, it may be faster to send the instruction to another storage device.
Although I/O determinism may increase efficiency of executing I/O instructions, the process requires access to information related to the storage for which I/O instructions are to be executed. This information may include information that the manufacturer of the storage may not desire to share. Thus, implementation of I/O determinism may not always be practical.
It would therefore be advantageous to provide a solution that would overcome the challenges noted above.